Міністерство освіти та науки України
Національний університет «Львівська політехніка»
Курсова робота
з дисципліни «Основи автоматизованого проектування складних об’єктів і систем»
на тему «Дослідження принципів побудови та функціонування гнучкої методології АППУ на Java»
Зміст
Методологія гнучкої розробки програмних ужитків
Концепція гнучкої розробки програмних ужитків
Інструменти інфраструктурної підтримки гнучкого проекту
Інструменти гнучкої розробки програмних продуктів на Java
Вступ
На сьогодні, більшість компаній, які займаються розробкою програмних ужитків використовують такі методології розробки, як Scrum, XP (eXtreme Programming), Lean та інші гнучкі методології. Отже, цікавим питанням для дослідження постає питання що являє собою гнучка методологія, як її організувати та якими інструментами скористатись.
У цій роботі, я дослідив основні питання, які стосуються Agile методології, описав її основні принципи та продемонстрував приклад ітеративної моделі гнучкої методології XP (eXtreme Programming). Також, я оглянув необхідні інструменти для організації роботи над гнучким проектом без яких не може існувати жодна розробка.
Для того щоб показати більш детальніший приклад застосування інструментів АППУ у agile методологіях, я обрав мову програмування Java. Мова Java є об’єктно-орієнтованою мовою, яка може працювати незалежно від комп’ютерної архітектури. Дата офіційного народження цієї мови програмування – 23 травня 1995 року [6]. Однак вона й досі займає чільне місце серед мов програмування. Популярність Java серед українських розробників можна продемонструвати цьогорічним рейтингом мов програмування в Україні, складеним IT-порталом dou.ua у січні [5]:
/
Рис. 1 Розподіл мов програмування за використанням на робочих проектах в Україні на 01.2013
Отже застосування інструментів АППУ у гнучкій методології розробки програмних продуктів на Java є актуальної темою на даний час.
Методологія гнучкої розробки програмних ужитків
Гнучка розробка програмного забезпечення (Agile software development) – клас методологій розробки програмного забезпечення, що базується на ітеративній розробці, в якій вимоги та розв’язки еволюціонують через співпрацю між само-організовуваними, багатофункціональними командами [9].
Отже, під гнучкою методологією розуміють не конкретний метод або засіб, а лише набір рекомендацій, які можуть привнести «гнучкість» у процес розробки. Ці рекомендації реалізуються практичними методологіями, такими як XP (eXtreme Programming), Lean, Scrum та інші. Кожна така методологія вирізняється з поміж інших своїми ознаками, однак всі вони належать до одного класу «гнучких» методологій.
Відмінною рисою XP є висока дисципліна, Lean робить акцент на понятті цінності продукту, а Scrum перш за все передбачає якісний контроль [3].
Об’єднує ж всі практичні методології маніфест гнучкої розробки програмних ужитків (Manifesto for Agile Software Development). У ньому вказані принципи, які повинні реалізувати всі гнучкі методології. Із них можна виділити такі основні [4]:
Люди та співпраця важливіші за процеси та інструменти
Працюючий продукт важливіший за вичерпну документацію
Співпраця із замовником важливіша за обслуговування умов контракту
Готовність до змін важливіша за дотримання плану
Проаналізувавши основні принципи Manifesto for Agile можна відмітити, що гнучка методологія ставить у центрі процесу розробки людину, а не сам процес. Також варто зазначити, що «гнучкість», перш за все, за цією методологією, полягає у готовності до змін.
Отже, можна зробити висновок, що гнучка розробка – це концептуальний каркас, світогляд і підхід до створення програм. Його знаковими рисами є економічність, швидкість і прагматизм. Гнучка методологія розробки нагадує нам про те, що, хоча комп’ютери виконують код, його написанням і підтримкою займаються все-таки люди [3].
Концепція гнучкої розробки програмних ужитків
Модель гнучкої розробки є неперервною моделлю, яка ґрунтується на ітераціях і релізах (випусках робочих версі...